1. Field of Invention
The present invention pertains to the field of image processing.
2. Description of Related Art
The bilateral filter was originally proposed by Tomasi and Manduchi in Bilateral Filtering for Gray and Color Images, ICCV: Proceedings of the Sixth International Conference on Computer Vision, page 839, 1998, IEEE Computer Society, herein incorporated in its entirety by reference. Basically, the bilateral filter smoothes an image while preserving edges by means of a nonlinear combination of nearby image values. The principle idea behind such a filtering operation is to combine information from the spatial domain as well as from a feature domain (typically the color domain). It can be represented as
                              h          ⁡                      (            x            )                          =                              1                          k              ⁡                              (                h                )                                              ⁢                                    ∑                              y                ∈                                  Ω                  x                                                      ⁢                                                            f                  s                                ⁡                                  (                                      x                    ,                    y                                    )                                            ⁢                                                g                  r                                ⁡                                  (                                                            I                      ⁡                                              (                        x                        )                                                              ,                                          I                      ⁡                                              (                        y                        )                                                                              )                                            ⁢                              I                ⁡                                  (                  y                  )                                                                                        (        1        )            where I and h are the input and output images respectively, x and y are pixel locations over an image grid, Ωx is the neighborhood induced around the central pixel x, fs(x, y) measures the spatial affinity between pixels at x and y (i.e. the spatial domain, and may be thought of as a spatial filter) and gr(I(x),I(y)) denotes the feature/measurement/photometric affinity (i.e. the feature domain, and may be thought of as a range filter). Parameter k(x) is a normalization term given by
                              k          ⁡                      (            x            )                          =                              ∑                          y              ∈                              Ω                x                                              ⁢                                                    f                s                            ⁡                              (                                  x                  ,                  y                                )                                      ⁢                                          g                r                            ⁡                              (                                                      I                    ⁡                                          (                      x                      )                                                        ,                                      I                    ⁡                                          (                      y                      )                                                                      )                                                                        (        2        )            
The spatial and range filters (f and g, respectively), are commonly set to be Gaussian filters, as follows:
                                          f            s                    ⁡                      (                          x              ,              y                        )                          =                  exp          (                                    -                                                                                      x                    -                    y                                                                    2                2                                                    2              ⁢                              σ                s                2                                              )                                    (        3        )                                                      g            r                    ⁡                      (                          u              ,              v                        )                          =                  exp          (                                    -                                                                                      u                    -                    v                                                                    2                2                                                    2              ⁢                              σ                r                2                                              )                                    (        4        )            parameterized by variances σs and σr. The range filter, gr, penalizes distance in the feature space and hence the filter has an inherent edge preserving property. Due to this property, the bilateral filter, as an edge-preserving filter, has been one of the most widely used filtering techniques within computer vision community.
Since its inception, most research has focused on improving the time/space complexity of the bilateral filter, since the product between the two responses in Eqn. 1 makes the response non-linear. Its nonlinearity makes it a computationally intensive operation and, as such, many researchers have proposed techniques to decompose the non-linear, bilateral filter into a sum of separate, one-dimensional filters or similar cascaded representations. Singular value decomposition of the 2D kernel is one such technique. Another proposed technique is an approximation of the bilateral filter by filtering sub-sampled copies of an image with discrete intensity kernels, and recombining the results using linear interpolation.
Recently the run-time of the bilateral filter has been identified as a critical bottleneck, and a few techniques have been proposed that render the filtering operation at an almost constant time, albeit with larger space requirements and behavioral approximations.
While much research has focused on speeding up the processing of the bilateral filter, it's handling of color images, which is a key weakness of the bilateral filter, has largely been overlooked by the vision community.
It is an object of the present invention to provide a new technique for improved handling of color images.
It is another object of the present invention to provide a method of improving the efficiency of processing digital images.
It is another object of the present invention to provide a filter that provides similar image smoothing and edge preserving properties as a bilateral filter, but which is less constrained by nonlinear combination of image values.
It is a further object of the present invention to provide a filter that provides similar image smoothing and edge preserving properties as a bilateral filter, but which lends itself to increased implementation optimizations.